import { EntityModel } from '@midwayjs/orm';
import { Column, PrimaryGeneratedColumn } from 'typeorm';

@EntityModel({
  name: 'msg_session',
})
export class MsgSessionEntity {
  @PrimaryGeneratedColumn({
    type: 'bigint',
    comment: '主键id',
  })
  id: number;

  @Column({
    type: 'int',
    name: 'from_id',
    nullable: false, // 不能为null
    comment: '发送者id',
  })
  fromId: number;

  @Column({
    type: 'int',
    name: 'to_id',
    nullable: false, // 不能为null
    comment: '接受者id',
  })
  toId: number;

  @Column({
    type: 'varchar',
    nullable: false, // 不能为null
    comment: '最后一条消息发送者名字',
  })
  name: string;

  @Column({
    type: 'varchar',
    name: 'img_url',
    nullable: false, // 不能为null
    comment: '最后一条消息发送者头像',
  })
  imgUrl: string;

  @Column({
    type: 'varchar',
    nullable: false, // 不能为null
    comment: '聊天内容',
  })
  content: string;

  @Column({
    type: 'int',
    name: 'content_type',
    nullable: false, // 不能为null
    comment: '聊天消息类型 1 文字 2 图片 3 文件 4 其他',
  })
  contentType: number;

  @Column({
    type: 'int',
    name: 'chat_type',
    nullable: false, // 不能为null
    comment: '聊天类型 1 单聊 2 群聊',
  })
  chatType: number;

  @Column({
    type: 'int',
    name: 'unread_count',
    nullable: false, // 不能为null
    comment: '消息未读数',
  })
  unreadCount: number;

  @Column({
    type: 'varchar',
    length: 20,
    nullable: false, // 不能为null
    comment: '发送时间',
  })
  time: string;
}
